package tools

import (
	"fmt"
	"go-empty-project/configs"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// 在其它model的实体类中可直接调用
var Db *gorm.DB

func init() {

	// 读取配置文件
	dsn := configs.App.MysqlDns
	
	db, err := gorm.Open("mysql", dsn)

	if err != nil {
		fmt.Println("连接失败", err)
		panic(err)
	}

	// 设置连接池，空闲连接
	db.DB().SetMaxIdleConns(50)
	// 打开链接
	db.DB().SetMaxOpenConns(100)

	// 表明禁用后缀加s
	db.SingularTable(true)

	Db = db

}

func GetDB() *gorm.DB {
	return Db
}
